// 导入封装的axios类
import HYRequest from './request'
// 导入我们的环境变量
import { BASE_URL, TIME_OUT } from './request/config'
import localCache from '@/utils/cache'

// 创建一个axios实例，并自定义相关基本配置（基准url，timeout...）
const hyRequest1 = new HYRequest({
  // 使用环境变量配置axios的相关配置，通过不同的环境，使用不同的配置方案
  baseURL: BASE_URL,
  timeout: TIME_OUT,
  interceptors: {
    requestInterceptor: (config) => {
      // 请求时通过Authorization字段携带token
      const token = localCache.getCache('token')
      if (token) {
        config.headers.Authorization = `Bearer ${token}`
      }
      return config
    },
    requestInterceptorCatch: (err) => {
      return err
    },
    responseInterceptor: (res) => {
      return res
    },
    responseInterceptorCatch: (err) => {
      return err
    }
  }
})

const hyRequest2 = new HYRequest({})

export { hyRequest1, hyRequest2 }
